{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第二周基础作业——Logistic 回归， SVM"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在Pima Indians Diabetes Data Set 进行分类器练习"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1、导入必要的工具包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 首先 import 必要的模块\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "#竞赛的评价指标为logloss\n",
    "from sklearn.metrics import log_loss  \n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "\n",
    "\n",
    "from sklearn.metrics import accuracy_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2、数据探索"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6</td>\n",
       "      <td>148</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>33.6</td>\n",
       "      <td>0.627</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>85</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>26.6</td>\n",
       "      <td>0.351</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8</td>\n",
       "      <td>183</td>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23.3</td>\n",
       "      <td>0.672</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>89</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "      <td>28.1</td>\n",
       "      <td>0.167</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>137</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>168</td>\n",
       "      <td>43.1</td>\n",
       "      <td>2.288</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "0            6      148             72             35        0  33.6   \n",
       "1            1       85             66             29        0  26.6   \n",
       "2            8      183             64              0        0  23.3   \n",
       "3            1       89             66             23       94  28.1   \n",
       "4            0      137             40             35      168  43.1   \n",
       "\n",
       "   DiabetesPedigreeFunction  Age  Outcome  \n",
       "0                     0.627   50        1  \n",
       "1                     0.351   31        0  \n",
       "2                     0.672   32        1  \n",
       "3                     0.167   21        0  \n",
       "4                     2.288   33        1  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train = pd.read_csv(\"diabetes.csv\")\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "Pregnancies                 768 non-null int64\n",
      "Glucose                     768 non-null int64\n",
      "BloodPressure               768 non-null int64\n",
      "SkinThickness               768 non-null int64\n",
      "Insulin                     768 non-null int64\n",
      "BMI                         768 non-null float64\n",
      "DiabetesPedigreeFunction    768 non-null float64\n",
      "Age                         768 non-null int64\n",
      "Outcome                     768 non-null int64\n",
      "dtypes: float64(2), int64(7)\n",
      "memory usage: 54.1 KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>3.845052</td>\n",
       "      <td>120.894531</td>\n",
       "      <td>69.105469</td>\n",
       "      <td>20.536458</td>\n",
       "      <td>79.799479</td>\n",
       "      <td>31.992578</td>\n",
       "      <td>0.471876</td>\n",
       "      <td>33.240885</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.369578</td>\n",
       "      <td>31.972618</td>\n",
       "      <td>19.355807</td>\n",
       "      <td>15.952218</td>\n",
       "      <td>115.244002</td>\n",
       "      <td>7.884160</td>\n",
       "      <td>0.331329</td>\n",
       "      <td>11.760232</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.300000</td>\n",
       "      <td>0.243750</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>30.500000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>0.372500</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>140.250000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>127.250000</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>0.626250</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>17.000000</td>\n",
       "      <td>199.000000</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>846.000000</td>\n",
       "      <td>67.100000</td>\n",
       "      <td>2.420000</td>\n",
       "      <td>81.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
       "\n",
       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
       "count  768.000000                768.000000  768.000000  768.000000  \n",
       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
       "std      7.884160                  0.331329   11.760232    0.476951  \n",
       "min      0.000000                  0.078000   21.000000    0.000000  \n",
       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
       "max     67.100000                  2.420000   81.000000    1.000000  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nBvBF5mP6wVQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288e9d017b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Target 分布，看看各类样本分布是否均衡\n",
    "sns.countplot(train.Outcome);\n",
    "pyplot.xlabel('Outcome');\n",
    "pyplot.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不太平衡，0多 1 少"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nXE4QZmaW6/8DKNpMgMdNIVsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288e9ef7c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(train.Pregnancies);\n",
    "pyplot.xlabel('Pregnancies');\n",
    "pyplot.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "怀孕次数大多为0，1，2次，符合现实经验。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nw+zzqHsODAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea317f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.Glucose.values,bins=50,kde=True)\n",
    "pyplot.xlabel('Glucose',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "血糖数据中有一些为0，根据数据说明，缺失值用0值编码，可以推测出，这些零值原先是缺失值。应该用平均值或者中值，更合理的填补缺失值。（我们的数据中，平均值为120，中值为117，差不多。）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288e9ef77f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.BloodPressure.values,bins=50,kde=True)\n",
    "pyplot.xlabel('BloodPressure',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "血压数据中也有一些为0，也可以用平均值或者中值，更合理的填补缺失值。（我们的数据中，平均值为70，中值为72，差不多。）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288e9f460f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.SkinThickness.values,bins=50,kde=True)\n",
    "pyplot.xlabel('SkinThickness',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "皮厚数据中，四分位数为0，看上图也可知，有相当多的缺失值，可以考虑用有数的数据的平均值作为填补。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea4d8400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.Insulin.values,bins=50,kde=True)\n",
    "pyplot.xlabel('Insulin',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "胰岛素数据中，四分位数为0，看上图也可知，有相当多的缺失值，可以考虑用有数的数据的平均值作为填补。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea521518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.BMI.values,bins=50,kde=True)\n",
    "pyplot.xlabel('BMI',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "BMI数据中也有一些为0，也可以用平均值或者中值，更合理的填补缺失值。（我们的数据中，平均值为31.9，中值为32，差不多。）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea4c7d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.DiabetesPedigreeFunction.values,bins=50,kde=True)\n",
    "pyplot.xlabel('DiabetesPedigreeFunction',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看不出有何异常"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAENCAYAAAAIbA6TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8XXWd//HXJ/vaJk3SLUvTQqGWsrSEUtZRFIYCWpER\nCyIqw3T4DaiMzDio489xfr+Zh86oD1GB/josyi4gagcriyAOiC1NN+hKQ5c0XZJ0Tbpl/fz+OKfl\nEkpz097k3vS8n4/HfeSe7d5Pbtr3Ofd7vud7zN0REZHoSEt2ASIiMrAU/CIiEaPgFxGJGAW/iEjE\nKPhFRCJGwS8iEjEKfhGRiFHwi4hEjIJfRCRiMpJdwJGUlpZ6dXV1sssQERk0Fi1atN3dy+JZNyWD\nv7q6mtra2mSXISIyaJjZxnjXVVOPiEjEKPhFRCJGwS8iEjEKfhGRiFHwi4hEjIJfRCRiFPwiIhGj\n4BcRiRgFv4hIxKTklbsnoscW1L9n+vpzq5JUiYhEnY74RUQiRsEvIhIxCn4RkYhR8IuIRExcwW9m\nl5vZGjOrM7M7j7B8gpn92czazOwfjrA83cyWmNmziShaRESOXa/Bb2bpwN3AdGAicJ2ZTeyx2k7g\ny8D3P+BlvgKsOo46RUQkQeI54p8K1Ln7OndvB54AZsSu4O5N7r4Q6Oi5sZlVAFcC9yWgXhEROU7x\nBH85sClmuiGcF68fAV8DuvuwjYiI9JN+PblrZlcBTe6+KI51Z5lZrZnVNjc392dZIiKRFk/wbwYq\nY6YrwnnxuAD4hJltIGgiusTMHjnSiu4+x91r3L2mrCyu+wWLiMgxiCf4FwLjzWysmWUBM4G58by4\nu3/d3SvcvTrc7mV3v+GYqxURkePW61g97t5pZrcBzwPpwAPuvsLMbgmXzzazkUAtMAToNrPbgYnu\n3tKPtYuIyDGIa5A2d58HzOsxb3bM820ETUBHe41XgFf6XKGIiCSUrtwVEYkYBb+ISMQo+EVEIkbB\nLyISMQp+EZGIUfCLiESMgl9EJGIU/CIiEaPgFxGJGAW/iEjEKPhFRCJGwS8iEjEKfhGRiFHwi4hE\njIJfRCRiFPwiIhGj4BcRiRgFv4hIxCj4RUQiJq7gN7PLzWyNmdWZ2Z1HWD7BzP5sZm1m9g8x8yvN\n7A9mttLMVpjZVxJZvIiI9F2vN1s3s3TgbuBSoAFYaGZz3X1lzGo7gS8Dn+yxeSdwh7svNrNCYJGZ\nvdhjWxERGUDxHPFPBercfZ27twNPADNiV3D3JndfCHT0mL/V3ReHz1uBVUB5QioXEZFjEk/wlwOb\nYqYbOIbwNrNqYDKwoK/biohI4gzIyV0zKwB+Cdzu7i0fsM4sM6s1s9rm5uaBKEtEJJLiCf7NQGXM\ndEU4Ly5mlkkQ+o+6+zMftJ67z3H3GnevKSsri/flRUSkj+IJ/oXAeDMba2ZZwExgbjwvbmYG3A+s\ncvcfHnuZIiKSKL326nH3TjO7DXgeSAcecPcVZnZLuHy2mY0EaoEhQLeZ3Q5MBM4APge8ZWZLw5f8\nhrvP64ffRURE4tBr8AOEQT2vx7zZMc+3ETQB9fQaYMdToIiIJJau3BURiRgFv4hIxCj4RUQiRsEv\nIhIxCn4RkYhR8IuIRIyCX0QkYhT8IiIRo+AXEYkYBb+ISMQo+EVEIkbBLyISMQp+EZGIUfCLiESM\ngl9EJGIU/CIiEaPgFxGJGAW/iEjEKPhFRCJGwS8iEjFxBb+ZXW5ma8yszszuPMLyCWb2ZzNrM7N/\n6Mu2IiIysHoNfjNLB+4GpgMTgevMbGKP1XYCXwa+fwzbiojIAIrniH8qUOfu69y9HXgCmBG7grs3\nuftCoKOv24qIyMCKJ/jLgU0x0w3hvHjEva2ZzTKzWjOrbW5ujvPlRUSkr1Lm5K67z3H3GnevKSsr\nS3Y5IiInrHiCfzNQGTNdEc6Lx/FsKyIi/SCe4F8IjDezsWaWBcwE5sb5+sezrYiI9IOM3lZw904z\nuw14HkgHHnD3FWZ2S7h8tpmNBGqBIUC3md0OTHT3liNt21+/jIiI9K7X4Adw93nAvB7zZsc830bQ\njBPXtiIikjwpc3JXREQGhoJfRCRiFPwiIhGj4BcRiRgFv4hIxCj4RUQiRsEvIhIxCn4RkYhR8IuI\nRIyCX0QkYhT8IiIRo+AXEYkYBb+ISMQo+EVEIkbBLyISMQp+EZGIUfCLiESMgl9EJGIU/CIiERNX\n8JvZ5Wa2xszqzOzOIyw3M/txuPxNM5sSs+zvzWyFmS03s8fNLCeRv4CIiPRNr8FvZunA3cB0YCJw\nnZlN7LHadGB8+JgF3BtuWw58Gahx90lAOjAzYdWLiEifxXPEPxWoc/d17t4OPAHM6LHODOAhD8wH\nisxsVLgsA8g1swwgD9iSoNpFROQYxBP85cCmmOmGcF6v67j7ZuD7QD2wFdjj7i8ce7kiInK8+vXk\nrpkVE3wbGAuMBvLN7IYPWHeWmdWaWW1zc3N/liUiEmnxBP9moDJmuiKcF886HwPWu3uzu3cAzwDn\nH+lN3H2Ou9e4e01ZWVm89YuISB/FE/wLgfFmNtbMsghOzs7tsc5c4Mawd880giadrQRNPNPMLM/M\nDPgosCqB9YuISB9l9LaCu3ea2W3A8wS9ch5w9xVmdku4fDYwD7gCqAP2A18Mly0ws6eBxUAnsASY\n0x+/iIiIxKfX4Adw93kE4R47b3bMcwdu/YBtvw18+zhqFBGRBNKVuyIiEaPgFxGJGAW/iEjEKPhF\nRCJGwS8iEjFx9eqR1PXYgvr3zbv+3KokVCIig4WO+EVEIkbBLyISMQp+EZGIUfCLiESMgl9EJGIU\n/CIiEaPgFxGJGAW/iEjEKPhFRCJGwS8iEjEKfhGRiFHwi4hEjIJfRCRi4gp+M7vczNaYWZ2Z3XmE\n5WZmPw6Xv2lmU2KWFZnZ02a22sxWmdl5ifwFRESkb3oNfjNLB+4GpgMTgevMbGKP1aYD48PHLODe\nmGV3Ac+5+wTgTGBVAuoWEZFjFM8R/1Sgzt3XuXs78AQwo8c6M4CHPDAfKDKzUWY2FLgYuB/A3dvd\nfXcC6xcRkT6KJ/jLgU0x0w3hvHjWGQs0Aw+a2RIzu8/M8o+jXhEROU79fXI3A5gC3Ovuk4F9wPvO\nEQCY2SwzqzWz2ubm5n4uS0QkuuIJ/s1AZcx0RTgvnnUagAZ3XxDOf5pgR/A+7j7H3WvcvaasrCye\n2kVE5BjEE/wLgfFmNtbMsoCZwNwe68wFbgx790wD9rj7VnffBmwys1PD9T4KrExU8SIi0ne93mzd\n3TvN7DbgeSAdeMDdV5jZLeHy2cA84AqgDtgPfDHmJb4EPBruNNb1WCYiIgOs1+AHcPd5BOEeO292\nzHMHbv2AbZcCNcdRo4iIJJCu3BURiRgFv4hIxCj4RUQiRsEvIhIxCn4RkYhR8IuIRExc3TklOR5b\nUP++edefW5WESkTkRKIjfhGRiFHwi4hEjJp6UshjC+rp6OpmXfNeWg92UlKQTVlhNgXZ+jOJSOIo\nUVJEc2sbj79Rz+ptLXR0+XuWTRo9hI9NHMHwwpwkVSciJxIFfwpYtHEnf/foYnbsbaemupgJI4dQ\nkp/Fzn3trN++j9fX7WDFlhYuPLmUa2sqyEhXC52IHDsFf5I9t3wbtz22mPLiXP7Xh09i1NDcw8tK\nCrIZP6KQ808u5cWVjbxat52bfl7LT6+fzJCczCRWLSKDmQ4dk2htYytffXIpk8qHMve2C98T+rEK\nsjO4enI5nzyrnNfrtnPNPa/T3No2wNWKyIlCwZ8kLQc7+NuHF5GXlcHsG85maG7vR/BTxw7joZum\n0rDrADc+8AZ79ncMQKUicqJR8CfJ1595i40793P39ZMZOTT+k7bnn1zK//vc2dQ1tfLFn71BW2dX\nP1YpIiciBX8SrG1q5bdvbuXvPzaec8eV9Hn7i08p48czJ7N0026erG2g2733jUREQgr+AdbV7fz2\nza1UDcvjby4ed8yvM/30UXzzyoms2trCy6ubElihiJzoFPwD7I0NO2lqbeObV36I7Iz043qtmy6o\nZkpVMS+vbmL55j0JqlBETnQK/gF0oL2L369sZFxZPpdNHHHcr2dmfPKs0VQW5/L04ga2q6ePiMQh\nruA3s8vNbI2Z1ZnZnUdYbmb243D5m2Y2pcfydDNbYmbPJqrwwejP67ZzoKOLKyaNwswS8poZ6Wlc\nf+4YMtKMxxcGQz6IiBxNr8FvZunA3cB0YCJwnZlN7LHadGB8+JgF3Ntj+VeAVcdd7SDW3tnN6+/s\n4NQRhYwuOnJ//WM1NDeTvzq7gq17DvK75VsT+toicuKJ58rdqUCdu68DMLMngBnAyph1ZgAPubsD\n882syMxGuftWM6sArgT+DfhqYssfPBbV72J/exd/cUoZcOSx9o/HhJFDuPDkUl6r2868t7Zyxemj\nEvr6InLiiKeppxzYFDPdEM6Ld50fAV8DjtoGYWazzKzWzGqbm5vjKGvw6Ozq5rW1zVQNy6O6NL/f\n3uey00ZQUZzLPz39JvU79vfb+4jI4NavJ3fN7Cqgyd0X9bauu89x9xp3rykrK+vPsgbcb9/ayq79\nHYeP9vtLRloaM8+pAoMvPb6Y9k6194vI+8UT/JuBypjpinBePOtcAHzCzDYATwCXmNkjx1ztIPXQ\nnzdSWpDNqSML+/29huVn8R/XnMGyhj1877nV/f5+IjL4xBP8C4HxZjbWzLKAmcDcHuvMBW4Me/dM\nA/a4+1Z3/7q7V7h7dbjdy+5+QyJ/gVRX17SXRRt3cU51MWkJ6snTm+mnj+LG88Zw/2vreWlV44C8\np4gMHr0Gv7t3ArcBzxP0zHnS3VeY2S1mdku42jxgHVAH/Bfwd/1U76DzVO0mMtKMsyqLBvR9v3HF\nh5g4agh3PLWMrXsODOh7i0hqi6uN393nufsp7n6Su/9bOG+2u88On7u73xouP93da4/wGq+4+1WJ\nLT+1dXR188vFm7lkwnAKB3j8/JzMdH56/WTaO7v58uNL6FT/fhEJ6UYs/eiVNc1s39vGtTWVNCXo\nqtq+dAMdV1bAv199Orf/Yil3vbSWOy47NSE1iMjgpiEb+tGTtZsoK8zmw6cmr5fSJyeX8+mzK/jp\nH+p4be32pNUhIqlDwd9PmloP8vLqJj41pTzp98j9zozTOKmsgNt/sVR37hIRNfX0l18v2UxXt3Nt\nTWXvK/ezvKwM7r5+CjPufo3bHlvMozefG9fO6EjNStefW9UfJYrIANIRfz9wd56sbaBmTDEnlRUk\nuxwATh1ZyL9ffToL1u/ku79T/36RKFPw94PF9bupa9qbEkf7sT41pYLPnzeG+15bz9xlW5Jdjogk\niZp6+sFTtZvIy0rnijOSM1Da0ZpovnnlRFZsaeFrTy+juiSPMyoG9voCEUk+HfEn2P72Tv572Rau\nPH0UBdmpt1/Nykjj3hvOpiQ/m7/+eS1bduviLpGoSb1kGuTmvbWNfe1dXHtOajXzxCorzOaBL5zD\nNfe+zs0/r+XJW85LyZ3UsdJJaZGj0xF/gj1Zu4mxpfnUjClOdilHderIQn56/WTWNLYy66FaDnZ0\nJbskERkgCv4EWr99H2+s38mnayoSdmvF/vThU4fz/U+fwevv7NCwDiIRouBPoKdqN5GeZvzVlIpk\nlxK3qydX8J1PnMYLKxv56pPLdM9ekQg4cRp2k6yzq5tfLm7gw6eUMXxITrLL6ZPPn1/NgY4uvvu7\n1Rzs6OIn108mOyO9X99T7fAiyaMj/gR5de12Glva+HSK9d2P1y1/cRL/8vGJvLCykZt/XkvrwY5k\nlyQi/URH/AnyZO0mSvKzuGTC8GSXEpcjHXF/4YKx5GVn8PVn3uLqe15nxpmjKSnITkJ1ItKfdMSf\nADv2tvH7VY1cPbmcrIzB/ZFeW1PJwzdNZfveNu555R1Wb2tJdkkikmCDO6VSxK+XbqGjywdtM09P\n559cym9uvYChuZk89OeN/GrJZto61d1T5EShpp7j5O48uXATZ1YWDcjN1AfKmJJ8/u7DJ/HiqkZe\nW7udtY2t/OVpI7luamW/dVXt2fykk70i/UNH/MfpzYY9rGls5TMnyNF+rIz0NKZPGsXfXDSO3Kx0\nflG7iU/e8zovrNhGV7cnuzwROUZxHfGb2eXAXUA6cJ+7f7fHcguXXwHsB77g7ovNrBJ4CBgBODDH\n3e9KYP1J92TtJnIy07jqzOQMyBavvtyysafq0nxu/cjJLKnfzfx1O5j18CLGlORxbU0lV54+iurS\n/ARWKiL9rdfgN7N04G7gUqABWGhmc919Zcxq04Hx4eNc4N7wZydwR7gTKAQWmdmLPbYdtA52dDF3\n6RaumDSKIQN8M/WBlmbG2WOK+d41p/P8ikYe/NN6/vP5Nfzn82uYMLKQaeNKmDp2GKeNHkJlcR5p\naal/5bJIVMVzxD8VqHP3dQBm9gQwA4gN7xnAQ+7uwHwzKzKzUe6+FdgK4O6tZrYKKO+x7aD17Jtb\naW3rPGFO6sYjIz2NK88YxZVnjKJh136eW76Nl1c38cTCen72+gYAcjPTGVOSx8ihOYwcksOIITmM\nGprD8CHZlBXkUFaYTVe3k66dg0hSxBP85cCmmOkGgqP53tYpJwx9ADOrBiYDC46hzpT06IKNjCvL\nZ9q4YckuJSkqivO4+aJx3HzRODq6ulmxpYU121qYu3QLO/e1s7ZxL7UbdrGvrZMjnRHIy0qnJD+L\n0oJsSguzKS3Ipqwwm+GF2aQNgrGORAarAenVY2YFwC+B2939iB3DzWwWMAugqir1e3Os2LKHJfW7\n+dZVEwfFgGz9LTM9jbMqizirsoiew/10dTsfmVBGc2tb8Njbxsurmmg52MmOfW2807yXJZt2H14/\nOyONyuI8XlnTxPgRhYwamnN4R6CePiLHL57g3wzEtmVUhPPiWsfMMglC/1F3f+aD3sTd5wBzAGpq\nalK+y8ijC+rJzkgbVAOyJUt6mlFRnEdFcd7hecZ7d5ZtnV3s2NtOY8tB6nfuZ+OO/bywspEXVjZS\nmJPBpNFDOaNiKO6uHa3IcYon+BcC481sLEGYzwSu77HOXOC2sP3/XGCPu28Ne/vcD6xy9x8msO6k\n2tvWyW+WbObjZ45maN6JfVJ3oGRnpDO6KJfRRblMrgruZdB6sIO1TXtZuaWFhRt28ud1O3hpdROf\nmzaGT00pp/AEP6Eu0l96DX537zSz24DnCbpzPuDuK8zslnD5bGAeQVfOOoLunF8MN78A+Bzwlpkt\nDed9w93nJfbXGFi/WrKZfe1dfPYEa3Y4li6f8W5zLK9dmJPJlKpiplQVc7CjixVb9lDXtJdvz13B\n955bzdWTy/nceWOYMHJIn1/7WGlUUTkRxNXGHwb1vB7zZsc8d+DWI2z3GnBCfS/v7nYe/NN6JpUP\n4axK3ah8oORkpnP2mGH84NqzWLZpNw/P38jTixp4dEE9l0wYzpcuOfnwNwUROToN2dBHL69uYl3z\nPu6aeZbampPkzMoizqws4ptXfIhH5m/k/j+t5+p7XufCk0v50iUnJ7s8kZSn4O+jOf+zjvKiXK44\nPbWv1I2C4vwsvvTR8dx04VgeXbCROf+zns/MmU91SR4fmTCck8sKtHMWOQKN1dMHS+p38caGnXzx\ngmoy0/XRpYr87AxmXXwSr/3TR/iXj09k5752HvzTBmb/8R1WbW2h21O+k5jIgNIRfx/816vrKMzJ\nYOZUncxLlqOdXM3JTOcLF4wlzYzF9bv549tNPDx/IyOGZFOQncFVZ4wiQztsEQV/vN5ubOW55duY\ndfFJFGTrY0tlGelpTB07jLPHFPNmw27++HYzt/9iKT94cQ2zLhrHp6ZUkJ+Cf0MNSy0DJfX+9aeo\n7z+/hvysDP724nHJLkXilJ5mTK4q5szKIoYXZnPPK+/wrd+s4HvPreHqyeV8dlrVgHYFFUkVCv44\nLK7fxQsrG7nj0lMozs9KdjnSR2lmXHbaSC6dOIJFG3fx2IJ6flG7iYfnb6RmTDGfOaeSy04bydBc\nXRAm0aDg74W78x/Praa0IIubLhyb7HKS7njG9U82M6Omehg11cP41lUT+eXi4DqAf3z6Tb7xq7c4\n/6RSpk8KdhC6ybycyBT8vXhlTTPz1+3kXz4+MSXbheXYFOdncfNF47jpgrEsa9jNc8u38bvl27jz\nmbf4xq/eYkpVMeedVMK0cSWcPaaYnMz0ZJcskjBKsqPY19bJP/96OePK8rlOJ9pOSGnheYDJVcXc\nOX0CK7e28Nzybby6djv3vPIOP3m5jqxw5NHJY4rYs7+D8qJchuVn6RoBGbQU/EfxgxfeZvPuAzx1\ny3lkZ+iI70RnZpw2eiinjR7KHZedyt62ThZu2Mn8dTuYv24nD762gfZwzOmczDRGF+VSXpRLYU4G\nE0cPYcywPHUXlUFBwf8BltTv4sHX13PDtCrOqY7mjVYGi/467zB36RYAxgzLZ8ywfDq7u2lsaWPL\nrgNs3h08Xn9nB6+u3Q5AVkYa40rzOWVEIaeMKGD8iEJOGVFI1bA83W1MUoqC/whaDnZwx1PLGDkk\nh3+6fEKyy5EUkZGWRnl4lH9OOK+zu5spVcWs2tpCXdNe3m5sZdHGXcxdtuXwdlkZaZxUVsApIwoY\nU5LPmGF5jCnJo6okj7KCbDUZyYBT8PfQ1e3c/sRS6nfs55Gbz9WY73JUGWlpTCofyqTyoe+Zv7et\n8/COYG1jK2+Ht6Gcu2wLsSNI5GamUzUs2AkcaO9iWH4Ww/KzKMrL5GBHl04qS79Q8PfwwxfX8PLq\nJv7PjNOYNq4k2eVIggzkVbE932tsaQHfvHIiENxprGHXAep37qd+R3Cnsfqd+9iwfR/rt++js/vd\nvcKPfr+W0oIsyovzqCjODR/h86JcyotzycvSf2HpO/2riXHfq+u4+w/vMPOcSm6YNibZ5Ug/SuR5\ngb68VnZGOieVFXBSWcH7lj0yfyN7D3ayc187uw+0UzUsj4ZdB2jYdYCVW1p4cUXj4ZPLh+RnpXPy\n8ILDO4TymB1EeVHu4S7IGg5CYin4CS7S+tHv13LXS2u54vSR/OuMSWp3lQGXZsaQ3EyG5GYC+e8L\n5+5uZ87/rGPX/nZ27e9gd/gzJzONVVtbeHFVI+2d790xDMvPoqI4l65upzgvi+K8TIrzslizrZXy\n4lyNOxVRkf+r723r5DtzV/DUogb+6uwKvvup09UlTxIuEUfcaWnv7hjGxLRCHnqt7m5n+942Hnht\nPbsOdLB7X7BjOLSjWLOt9XBT0kPzNwJQlJcZNh3lsbetk6Jwx1CUl8msi8fpHNcJKtLB/8b6ndzx\n1FI27zrAbR85ma9eegpp6nYnAyCe5qG+NkelpRnDh+RQVZLPkXYr7s7etk52x+wMdu1vZ/f+dhbV\n72L3/nY6ut49x/CTl+vIzUynOC+TovDbwkc/NIKK4lyqSvKoLsknJzNdzUiDUFzBb2aXA3cR3Gz9\nPnf/bo/lFi6/guBm619w98XxbJsMizbu4icvr+WVNc1UDcvjyb89jxr11ZcTnJlRmJNJYU4mlcPy\n3rfc3dnX3sWufe3hDqHj8M/te9tY29TKn97Z8Z5tRg3NITcznZKCbErysygtyOLtxlaqhuWpR1IK\n6zX4zSwduBu4FGgAFprZXHdfGbPadGB8+DgXuBc4N85t+11nVzert7Xy8uomfvvmVtY0tlKcl8k/\n/uWpfOH8ao3BI4Naok5UmxkF2RkUZGd84I7h8kkj2RT2StqwPeiNtHDDTlZs2cP+9i4AHllQjxmM\nHppLdWkeY0ryqSjOZURhDiOG5DByaDbDh+RQmJ2hc2lJEk/iTQXq3H0dgJk9AcwAYsN7BvCQuzsw\n38yKzGwUUB3Htgnh7qzY0sKOfe3s2NvGtpaDbNy+n/Xb9/HW5j0c6OjCDM4ZM4x/nXEa16TozThE\nUpWZ8fyKxsPTpQXZlBZkH/62fKC9ix372jh1ZCHrt+9j447g/9+8t7aye3/H+14vNzOdEUOyKSnI\npjAngyE5mcHP3OBnYU4mBdnpZKWnk5luZGakkZWeRmZ6WjAdnotLM8MMzMLnBM/BSLOg7meXbTm8\nkzFgxuTR727Hu9sfeh77OoZhaYTTwfxD277n/cPlh97zSNydrm6n69DPbqe7m8PTjjO8MCcRf66j\niif5yoFNMdMNBEf1va1THue2CXPNva/TFtOrobQgm+qSPD5zTiWTq4qYNq6EEUP6/0MViaLcrHQq\nsvKYcVb5+5b97E8baD3YQcvBTloOdHDy8AIaWw6yreUgO/e1s2NvOxu276P1YCctBzvec66hP/zn\nC2v69fUPObQTMIJw7+32z6UF2dT+88f6va6UOeQ1s1nArHByr5nF+5cpBbYfacFGYBHwy+Mv71h8\nYF1Jprr6RnX1TelnU7MuSOHPjLCujYB965hfJ+6Lj+IJ/s1AZcx0RTgvnnUy49gWAHefA8yJo573\nMLNad6/p63b9TXX1jerqG9XVd6laWzLqiqfD+kJgvJmNNbMsYCYwt8c6c4EbLTAN2OPuW+PcVkRE\nBlCvR/zu3mlmtwHPE3TJfMDdV5jZLeHy2cA8gq6cdQTdOb94tG375TcREZG4xNXG7+7zCMI9dt7s\nmOcO3BrvtgnW5+ahAaK6+kZ19Y3q6rtUrW3A6zLv7TSziIicUDQojYhIxAya4DezB8ysycyWx8wb\nZmYvmtna8GdxEuqqNLM/mNlKM1thZl9JhdrMLMfM3jCzZWFd30mFumLqSzezJWb2bIrVtcHM3jKz\npWZWmyq1hRdFPm1mq81slZmdl+y6zOzU8HM69Ggxs9uTXVdY29+H/+6Xm9nj4f+HVKjrK2FNK8zs\n9nDegNc1aIIf+BlweY95dwIvuft44KVweqB1Ane4+0RgGnCrmU1MgdragEvc/UzgLODysMdVsus6\n5CvAqpjpVKkL4CPuflZMF7tUqO0u4Dl3nwCcSfDZJbUud18Tfk5nAWcTdOz4VbLrMrNy4MtAjbtP\nIuhYMjMF6poE/A3BaAhnAleZ2clJqcvdB82DYAiI5THTa4BR4fNRwJoUqPE3BGMTpUxtQB6wmOCq\n6aTXRXDXD14CAAAErUlEQVQ9x0vAJcCzqfS3BDYApT3mJbU2YCiwnvCcXKrU1aOWy4A/pUJdvDti\nwDCCDizPhvUlu65PA/fHTH8L+Foy6hpMR/xHMsKD6wUAtgEjklmMmVUDk4EFpEBtYXPKUqAJeNHd\nU6Iu4EcE/+Bj7xqSCnUBOPB7M1sUXk0Oya9tLNAMPBg2j91nZvkpUFesmcDj4fOk1uXum4HvA/XA\nVoLril5Idl3AcuAiMysxszyCLvCVyahrsAf/YR7sLpPWRcnMCghGh7jd3VtilyWrNnfv8uBreAUw\nNfyqmdS6zOwqoMndF33QOkn+W14YfmbTCZrtLo5dmKTaMoApwL3uPhnYR4/mgGR+ZuHFmZ8Anuq5\nLEn/xooJBoMcC4wG8s3shmTX5e6rgO8BLwDPAUuBrmTUNdiDv9GCUUAJfzYlowgzyyQI/Ufd/ZlU\nqg3A3XcDfyA4R5Lsui4APmFmG4AngEvM7JEUqAs4fLSIuzcRtFdPTYHaGoCG8BsbwNMEO4Jk13XI\ndGCxux8aujPZdX0MWO/uze7eATwDnJ8CdeHu97v72e5+MbALeDsZdQ324J8LfD58/nmC9vUBZWYG\n3A+scvcfpkptZlZmZkXh81yC8w6rk12Xu3/d3SvcvZqgeeBld78h2XUBmFm+mRUeek7QLrw82bW5\n+zZgk5mdGs76KMHQ5kn/zELX8W4zDyS/rnpgmpnlhf8/P0pwMjzZdWFmw8OfVcCngMeSUtdAntw4\nzhMjjxO013UQHAH9NVBCcJJwLfB7YFgS6rqQ4KvZmwRf3ZYStN0ltTbgDGBJWNdy4H+H85P+mcXU\n+GHePbmb9LqAccCy8LEC+GYK1XYWUBv+PX8NFKdIXfnADmBozLxUqOs7BAc6y4GHgewUqetVgp32\nMuCjyfq8dOWuiEjEDPamHhER6SMFv4hIxCj4RUQiRsEvIhIxCn4RkYhR8IuIRIyCXyRkZq+Y2S4z\ny052LSL9ScEvwuEB9i4iuBjvE0ktRqSfKfhFAjcC8wnu+3Do8nnCkRT/O7zJyEIz+79m9lrM8gnh\nzTN2mtkaM7t24EsX6Zu4brYuEgE3Aj8kGFJ7vpmN8GDQsbsJRsMcSXA/iOeBjXB4PJ8Xgf9NMFDZ\n6cCLZrbc3VcO+G8gEicd8UvkmdmFwBjgSQ+Gi34HuN7M0oFrgG+7+/4wzH8es+lVwAZ3f9DdO919\nCcEorZ8e4F9BpE8U/CJB084L7r49nH4snFdG8K14U8y6sc/HAOea2e5DD+CzBN8ORFKWmnok0sIh\nq68F0s1sWzg7GygiuBNSJ8GNbN4Ol1XGbL4J+KO7XzpA5YokhEbnlEgzs+sI2vHPAtpjFj0JLCQI\n/S7gZqCK4O5J9e5+YTh2/3LgnwluKkP4Ons9uNuSSEpSU49E3eeBB9293t23HXoAPyVotrmN4Gbn\n2wjGdX8caANw91aCm7XMBLaE63yP4BuDSMrSEb9IH5jZ94CR7v75XlcWSVE64hc5irCf/hkWmEpw\n57dfJbsukeOhk7siR1dI0LwzGmgEfkDy7m0rkhBq6hERiRg19YiIRIyCX0QkYhT8IiIRo+AXEYkY\nBb+ISMQo+EVEIub/A5841yeNCIT8AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea3bca58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig= pyplot.figure()\n",
    "sns.distplot(train.Age.values,bins=50,kde=True)\n",
    "pyplot.xlabel('Age',fontsize=12)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看不出有何异常"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据数据说明中，所给的含义，看不出有线性相关的两特征。为谨慎起见，画出两两相关的热力图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n2bJlC5dcsuvww4VBQeU/Vt3cpx9TZnzPunUbaNvlfK7seQFndTop7LD2GV0LJD8WS6NzyK7MbALw\nkLuPzrXuWuBwglqXVsCyyM8PuftYM6sPPAmUIyjoPu7uL/7V58w75JS4/iL131Iq7BBCtdF3HRUr\n3szYVLRqufa1FRtX7zlRjMsqogOIyL7z2/KJYYcQuvMbFs6CcbS8vfSj3bV0CcWJ1doW+P3ZFyvG\nhZJn1cTEOHdvnc+6JyEYtczdfzezisB3wOzI9plAi6gGKiIiIiKyl1SIiW/DzewAYD/g3kgHfxER\nERGJAWEOgVzQVIiJY+7eKuwYRERERET+LhViRERERERiUCzXxGiIZRERERERKVJUEyMiIiIiEoNi\neRRi1cSIiIiIiEiRopoYEREREZEYpD4xIiIiIiIihYRqYkREREREYpCrJkZERERERKRwUE2MiIiI\niEgM0uhkIiIiIiIihYRqYkREREREYpBGJxMRERERESkkVBMjIiIiIhKD1CdGRERERESkkFBNjIiI\niIhIDIrlPjEqxIiIiIiIxCBNdikiIiIiIlJIqCZGRERERCQGZatjv4iIiIiISOGgmhjZJ27/IzHs\nEEJ1xZ/x/af0n83fhx1C6BItvp8J1S6THHYIoWtTsmbYIYRqxtbVYYcghcDr0waEHYLkEst9YuL7\nzktERERkHzm/4Y1hhxAqFWAkmlSIERERERGJQeoTIyIiIiIiUkioJkZEREREJAbFcp8Y1cSIiIiI\niEiRopoYEREREZEYpD4xIiIiIiIihYRqYkREREREYpD6xIiIiIiIiBQSqokREREREYlB6hMjIiIi\nIiJSSKgmRkREREQkBqlPjIiIiIiISCGhmhgRERERkRjknh12CAVGNTEiIiIiIlKkqCZGRERERCQG\nZcdwnxgVYkREREREYpBriGUREREREZHCQTUxIiIiIiIxKJabk6kmRkREREREihTVxIiIiIiIxCD1\niRERERERESkkVIiRQu/Ylg14asKzPPP585x5Zdddtrfo0pLHxjzJ458O5MEP+lPr8FoAVEypRN+3\n7ufJcU/zxGdPc1qPTlGOfN+o2PoYmn01gObfPE6ta07fbbqy9Q+i3YqhVD3tOABK1Unh+HH9cl5t\nFg6iRq+ToxX2v9Km3Yl8M200380cy7U39Mo3zQP97+S7mWOZNPkTjj6mXs76suXKMGjIk3w9dTST\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288e9e97240>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cols=train.columns\n",
    "data_corr=train.corr().abs()\n",
    "pyplot.subplots(figsize=(13,9))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "sns.heatmap(data_corr,mask=data_corr<1,cbar=False)\n",
    "pyplot.savefig('pima_corr.png')\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从图中可以看出，怀孕次数和年龄有较高的相关性，这很符合常识。另外，Outcome和BloodPressure,SkinThickness的相关性很低。可以考虑去掉这两个特征。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 3、数据预处理和特征工程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#计算一下除缺失值后的InsulinAvg和SkinThicknessAvg\n",
    "temp=0\n",
    "temp_cnt=0\n",
    "for i in range(768):\n",
    "    if train.Insulin.values[i] != 0:\n",
    "        temp=temp+train.Insulin.values[i]\n",
    "        temp_cnt=temp_cnt+1\n",
    "InsulinAvg=temp/temp_cnt\n",
    "temp=0\n",
    "temp_cnt=0\n",
    "for i in range(768):\n",
    "    if train.SkinThickness.values[i] != 0:\n",
    "        temp=temp+train.SkinThickness.values[i]\n",
    "        temp_cnt=temp_cnt+1\n",
    "SkinThicknessAvg=temp/temp_cnt\n",
    "\n",
    "#用平均值取代缺失值\n",
    "for i in range(768):\n",
    "    if train.Glucose.values[i] == 0:\n",
    "        train.Glucose.values[i] = 120\n",
    "    if train.BloodPressure.values[i] == 0:\n",
    "        train.BloodPressure.values[i] = 70\n",
    "    if train.BMI.values[i] == 0:\n",
    "        train.BMI.values[i] = 32\n",
    "    if train.SkinThickness.values[i] == 0:\n",
    "        train.SkinThickness.values[i] = SkinThicknessAvg\n",
    "    if train.Insulin.values[i]==0:\n",
    "        train.Insulin.values[i] = InsulinAvg  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#分X，y\n",
    "y = train.Outcome\n",
    "\n",
    "train = train.drop([\"Outcome\"], axis=1)\n",
    "X = np.array(train)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据作业要求，分割训练数据和测试数据（随机选择 20%的数据作为测试集）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#将数据分割训练数据与测试数据\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 随机采样20%的数据构建测试样本，其余作为训练样本\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33, test_size=0.2)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 初始化特征的标准化器\n",
    "ss_X = StandardScaler()\n",
    "\n",
    "# 分别对训练和测试数据的特征进行标准化处理\n",
    "X_train = ss_X.fit_transform(X_train)\n",
    "X_test=ss_X.transform(X_test)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4、Logistic回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "lr1= LogisticRegression()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4.1 Default Logistic Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logloss of each fold is:  [ 0.45880434  0.47231265  0.52702518  0.41857095  0.47445043]\n",
      "cv logloss is: 0.470232710632\n"
     ]
    }
   ],
   "source": [
    "# 交叉验证用于评估模型性能和进行参数调优（模型选择）\n",
    "#分类任务中交叉验证缺省是采用StratifiedKFold\n",
    "from sklearn.cross_validation import cross_val_score\n",
    "loss = cross_val_score(lr1, X_train, y_train, cv=5, scoring='neg_log_loss')\n",
    "print ('logloss of each fold is: ',-loss)\n",
    "print ('cv logloss is:', -loss.mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the train score is: 0.78338762215\n",
      "the test score is: 0.720779220779\n"
     ]
    }
   ],
   "source": [
    "\n",
    "lr1 = lr1.fit(X_train, y_train)\n",
    "train_score = lr1.score(X_train, y_train)\n",
    "test_score = lr1.score(X_test, y_test)\n",
    "\n",
    "print('the train score is:', train_score)\n",
    "print('the test score is:', test_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4.2 正则化的Logistic Regression 及参数调优"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise',\n",
       "       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False),\n",
       "       fit_params=None, iid=True, n_jobs=1,\n",
       "       param_grid={'penalty': ['l1', 'l2'], 'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score=True,\n",
       "       scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "#需要调优的参数\n",
    "# 请尝试将L1正则和L2正则分开，并配合合适的优化求解算法（slover）\n",
    "#tuned_parameters = {'penalty':['l1','l2'],\n",
    "#                   'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "#                   }\n",
    "penaltys = ['l1','l2']\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "tuned_parameters = dict(penalty = penaltys, C = Cs)\n",
    "\n",
    "lr_penalty= LogisticRegression()\n",
    "grid= GridSearchCV(lr_penalty, tuned_parameters,cv=5, scoring='neg_log_loss')\n",
    "grid.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([ 0.00120463,  0.00100069,  0.00100341,  0.00100064,  0.0010129 ,\n",
       "         0.        ,  0.00312505,  0.        ,  0.        ,  0.        ,\n",
       "         0.        ,  0.        ,  0.0031251 ,  0.00100007]),\n",
       " 'mean_score_time': array([ 0.00119691,  0.00100069,  0.00119886,  0.0010006 ,  0.00080214,\n",
       "         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "         0.0031251 ,  0.003125  ,  0.        ,  0.00060048]),\n",
       " 'mean_test_score': array([-0.69314718, -0.63450577, -0.66363832, -0.51745335, -0.47466627,\n",
       "        -0.4706465 , -0.47066803, -0.47029137, -0.470907  , -0.47087779,\n",
       "        -0.47094958, -0.47094839, -0.47095418, -0.47095557]),\n",
       " 'mean_train_score': array([-0.69314718, -0.63378679, -0.66254176, -0.5131228 , -0.46463764,\n",
       "        -0.45880874, -0.45451022, -0.45437489, -0.45429549, -0.4542941 ,\n",
       "        -0.45429323, -0.45429322, -0.45429321, -0.45429321]),\n",
       " 'param_C': masked_array(data = [0.001 0.001 0.01 0.01 0.1 0.1 1 1 10 10 100 100 1000 1000],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'param_penalty': masked_array(data = ['l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2'],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'params': [{'C': 0.001, 'penalty': 'l1'},\n",
       "  {'C': 0.001, 'penalty': 'l2'},\n",
       "  {'C': 0.01, 'penalty': 'l1'},\n",
       "  {'C': 0.01, 'penalty': 'l2'},\n",
       "  {'C': 0.1, 'penalty': 'l1'},\n",
       "  {'C': 0.1, 'penalty': 'l2'},\n",
       "  {'C': 1, 'penalty': 'l1'},\n",
       "  {'C': 1, 'penalty': 'l2'},\n",
       "  {'C': 10, 'penalty': 'l1'},\n",
       "  {'C': 10, 'penalty': 'l2'},\n",
       "  {'C': 100, 'penalty': 'l1'},\n",
       "  {'C': 100, 'penalty': 'l2'},\n",
       "  {'C': 1000, 'penalty': 'l1'},\n",
       "  {'C': 1000, 'penalty': 'l2'}],\n",
       " 'rank_test_score': array([14, 12, 13, 11, 10,  2,  3,  1,  5,  4,  7,  6,  8,  9]),\n",
       " 'split0_test_score': array([-0.69314718, -0.63500247, -0.66248833, -0.51582827, -0.47684919,\n",
       "        -0.46313884, -0.46116671, -0.45880434, -0.4589179 , -0.45868688,\n",
       "        -0.45870549, -0.45868127, -0.45868364, -0.45868077]),\n",
       " 'split0_train_score': array([-0.69314718, -0.63391219, -0.65382861, -0.514366  , -0.4657777 ,\n",
       "        -0.4611218 , -0.45706363, -0.45693034, -0.45685733, -0.45685594,\n",
       "        -0.45685515, -0.45685513, -0.45685513, -0.45685513]),\n",
       " 'split1_test_score': array([-0.69314718, -0.63639357, -0.66355231, -0.52422961, -0.4747736 ,\n",
       "        -0.47634577, -0.47227535, -0.47231265, -0.47215904, -0.47217225,\n",
       "        -0.47216069, -0.47216322, -0.47216548, -0.47216237]),\n",
       " 'split1_train_score': array([-0.69314718, -0.63278322, -0.66498565, -0.51142977, -0.46466902,\n",
       "        -0.45900593, -0.45520221, -0.45506389, -0.4549969 , -0.45499549,\n",
       "        -0.45499475, -0.45499473, -0.45499472, -0.45499472]),\n",
       " 'split2_test_score': array([-0.69314718, -0.63566342, -0.66123346, -0.52825314, -0.50853332,\n",
       "        -0.50968473, -0.52663343, -0.52702518, -0.53058307, -0.53062351,\n",
       "        -0.53100805, -0.53101828, -0.53104573, -0.53105813]),\n",
       " 'split2_train_score': array([-0.69314718, -0.63295353, -0.65499741, -0.50736058, -0.45283813,\n",
       "        -0.44608559, -0.44045202, -0.44032781, -0.44021545, -0.44021419,\n",
       "        -0.44021295, -0.44021293, -0.44021292, -0.44021292]),\n",
       " 'split3_test_score': array([-0.69314718, -0.62933889, -0.66729076, -0.49298162, -0.43757378,\n",
       "        -0.42627432, -0.41956185, -0.41857095, -0.41811278, -0.41802062,\n",
       "        -0.41797972, -0.41797046, -0.41796355, -0.41796549]),\n",
       " 'split3_train_score': array([-0.69314718, -0.63666182, -0.67236039, -0.52218967, -0.47638419,\n",
       "        -0.47066746, -0.4667562 , -0.46662583, -0.46655611, -0.46655476,\n",
       "        -0.46655401, -0.466554  , -0.46655399, -0.46655399]),\n",
       " 'split4_test_score': array([-0.69314718, -0.63609738, -0.66366601, -0.5258567 , -0.4752872 ,\n",
       "        -0.47754522, -0.47338667, -0.47445043, -0.47445932, -0.47458522,\n",
       "        -0.47459249, -0.47460747, -0.47461116, -0.4746098 ]),\n",
       " 'split4_train_score': array([-0.69314718, -0.63262318, -0.66653676, -0.51026801, -0.46351917,\n",
       "        -0.45716293, -0.45307705, -0.45292656, -0.45285167, -0.45285012,\n",
       "        -0.45284931, -0.45284929, -0.45284928, -0.45284928]),\n",
       " 'std_fit_time': array([  3.98403527e-04,   1.54806929e-06,   3.63336147e-06,\n",
       "          3.98950589e-07,   1.70715694e-05,   0.00000000e+00,\n",
       "          6.25009537e-03,   0.00000000e+00,   0.00000000e+00,\n",
       "          0.00000000e+00,   0.00000000e+00,   0.00000000e+00,\n",
       "          6.25019073e-03,   6.32409919e-04]),\n",
       " 'std_score_time': array([ 0.00040357,  0.00063294,  0.00040182,  0.00109615,  0.00040119,\n",
       "         0.        ,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "         0.00625019,  0.00625   ,  0.        ,  0.00049029]),\n",
       " 'std_test_score': array([ 0.        ,  0.00261536,  0.00201939,  0.01288879,  0.02245413,\n",
       "         0.0269045 ,  0.03415594,  0.03474496,  0.03604263,  0.0361011 ,\n",
       "         0.03623937,  0.03624742,  0.03625847,  0.03626217]),\n",
       " 'std_train_score': array([ 0.        ,  0.00150579,  0.00708766,  0.00505911,  0.00748013,\n",
       "         0.00788169,  0.00844571,  0.00844404,  0.00845825,  0.00845822,\n",
       "         0.00845839,  0.00845839,  0.00845839,  0.00845839])}"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# view the complete results (list of named tuples)\n",
    "grid.cv_results_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.470291368064\n",
      "{'penalty': 'l2', 'C': 1}\n"
     ]
    }
   ],
   "source": [
    "# examine the best model\n",
    "print(-grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们选择L2正则, 正则系数C=1. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea46ec88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#pd.DataFrame(grid.cv_results_).to_csv('LogisticGridSearchCV_Otto.csv')\n",
    "#cvresult = pd.DataFrame.from_csv('LogisticGridSearchCV_Otto.csv')\n",
    "#test_means = cv_results['mean_test_score']\n",
    "#test_stds = cv_results['std_test_score'] \n",
    "#train_means = cvresult['mean_train_score']\n",
    "#train_stds = cvresult['std_train_score'] \n",
    "\n",
    "\n",
    "# plot CV误差曲线\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "train_means = grid.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = grid.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_penaltys = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(n_Cs,number_penaltys)\n",
    "train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_penaltys)\n",
    "train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(penaltys):\n",
    "    #pyplot.plot(log(Cs), test_scores[i], label= 'penalty:'   + str(value))\n",
    "    pyplot.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = penaltys[i] +' Test')\n",
    "    pyplot.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "pyplot.ylabel( 'neg-logloss' )\n",
    "pyplot.savefig('LogisticGridSearchCV_C.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the train score is: 0.78338762215\n",
      "the test score is: 0.720779220779\n"
     ]
    }
   ],
   "source": [
    "lr2 = LogisticRegression(C=1.0, penalty='l2') #缺省时，也是C=1， penality=l2\n",
    "lr2 = lr2.fit(X_train, y_train)\n",
    "\n",
    "train_score = lr2.score(X_train, y_train)\n",
    "test_score = lr2.score(X_test, y_test)\n",
    "\n",
    "print('the train score is:', train_score)\n",
    "print('the test score is:', test_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4.3 用LogisticRegressionCV实现正则化的 Logistic Regression\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegressionCV(Cs=[0.001, 0.01, 1, 10, 100, 1000], class_weight=None,\n",
       "           cv=5, dual=False, fit_intercept=True, intercept_scaling=1.0,\n",
       "           max_iter=100, multi_class='ovr', n_jobs=1, penalty='l1',\n",
       "           random_state=None, refit=True, scoring='neg_log_loss',\n",
       "           solver='liblinear', tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#L1 正则\n",
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "\n",
    "Cs = [0.001,0.01,1, 10,100,1000]\n",
    "\n",
    "# 大量样本（6W+）、高维度（93），L1正则 --> 可选用saga优化求解器(0.19版本新功能)\n",
    "# LogisticRegressionCV比GridSearchCV快\n",
    "lrcv_L1 = LogisticRegressionCV(Cs=Cs, cv = 5, scoring='neg_log_loss', penalty='l1', solver='liblinear', multi_class='ovr')\n",
    "lrcv_L1.fit(X_train, y_train)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{1: array([[-0.69314718, -0.66248833, -0.4611686 , -0.45891154, -0.45870585,\n",
       "         -0.45868376],\n",
       "        [-0.69314718, -0.66355231, -0.47227332, -0.47215482, -0.47216399,\n",
       "         -0.47217716],\n",
       "        [-0.69314718, -0.66123346, -0.52662874, -0.53057692, -0.53100574,\n",
       "         -0.53105043],\n",
       "        [-0.69314718, -0.66729076, -0.41956132, -0.41811331, -0.4179756 ,\n",
       "         -0.41796291],\n",
       "        [-0.69314718, -0.66366601, -0.4733886 , -0.4744667 , -0.47460008,\n",
       "         -0.47461214]])}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrcv_L1.scores_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea474f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# scores_：dict with classes as the keys, and the values as the grid of scores obtained during cross-validating each fold,\n",
    "# Each dict value has shape (n_folds, len(Cs))\n",
    "n_Cs = len(Cs)\n",
    "\n",
    "scores =  np.zeros((1,n_Cs))\n",
    "\n",
    "scores[0][:] = np.mean(lrcv_L1.scores_[1],axis = 0)\n",
    "    \n",
    "mse_mean = -np.mean(scores, axis = 0)\n",
    "pyplot.plot(np.log10(Cs), mse_mean.reshape(n_Cs,1)) \n",
    "#plt.plot(np.log10(reg.Cs)*np.ones(3), [0.28, 0.29, 0.30])\n",
    "pyplot.xlabel('log(C)')\n",
    "pyplot.ylabel('neg-logloss')\n",
    "pyplot.show()\n",
    "\n",
    "#print ('C is:',lr_cv.C_)  #对多类分类问题，每个类别的分类器有一个C\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lrcv_L1_coef: [[ 0.42122902  1.11810281 -0.12820164  0.03525864 -0.07818468  0.70765925\n",
      "   0.19094511  0.14302123]]\n",
      "lrcv_L1_C: [ 1.]\n"
     ]
    }
   ],
   "source": [
    "print(\"lrcv_L1_coef:\",lrcv_L1.coef_)\n",
    "print('lrcv_L1_C:',lrcv_L1.C_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the train score is: 0.78338762215\n",
      "the test score is: 0.720779220779\n"
     ]
    }
   ],
   "source": [
    "train_score=lrcv_L1.score(X_train,y_train)\n",
    "test_score=lrcv_L1.score(X_test,y_test)\n",
    "print('the train score is:', train_score)\n",
    "print('the test score is:', test_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegressionCV(Cs=[0.001, 0.01, 1, 10, 100, 1000], class_weight=None,\n",
       "           cv=5, dual=False, fit_intercept=True, intercept_scaling=1.0,\n",
       "           max_iter=100, multi_class='ovr', n_jobs=1, penalty='l2',\n",
       "           random_state=None, refit=True, scoring='neg_log_loss',\n",
       "           solver='liblinear', tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#L2正则\n",
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "\n",
    "Cs = [0.001,0.01,1, 10,100,1000]\n",
    "\n",
    "# 大量样本（6W+）、高维度（93），L2正则 --> 缺省用lbfgs，为了和GridSeachCV比较，也用liblinear\n",
    "\n",
    "lrcv_L2 = LogisticRegressionCV(Cs=Cs, cv = 5, scoring='neg_log_loss', penalty='l2', solver='liblinear', multi_class='ovr')\n",
    "lrcv_L2.fit(X_train, y_train)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{1: array([[-0.63500247, -0.51582827, -0.45880434, -0.45868688, -0.45868127,\n",
       "         -0.45868077],\n",
       "        [-0.63639357, -0.52422961, -0.47231265, -0.47217225, -0.47216322,\n",
       "         -0.47216237],\n",
       "        [-0.63566342, -0.52825314, -0.52702518, -0.53062351, -0.53101828,\n",
       "         -0.53105813],\n",
       "        [-0.62933889, -0.49298162, -0.41857095, -0.41802062, -0.41797046,\n",
       "         -0.41796549],\n",
       "        [-0.63609738, -0.5258567 , -0.47445043, -0.47458522, -0.47460747,\n",
       "         -0.4746098 ]])}"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrcv_L2.scores_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/wMOh/q7dPOMuAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea4673c8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# dict with classes as the keys, and the values as the grid of scores obtained during cross-validating each fold,\n",
    "# Each dict value has shape (n_folds, len(Cs))\n",
    "n_Cs = len(Cs)\n",
    "\n",
    "scores =  np.zeros((1,n_Cs))\n",
    "\n",
    "scores[0][:] = np.mean(lrcv_L2.scores_[1],axis = 0)\n",
    "    \n",
    "mse_mean = -np.mean(scores, axis = 0)\n",
    "pyplot.plot(np.log10(Cs), mse_mean.reshape(n_Cs,1)) \n",
    "#plt.plot(np.log10(reg.Cs)*np.ones(3), [0.28, 0.29, 0.30])\n",
    "pyplot.xlabel('log(C)')\n",
    "pyplot.ylabel('neg-logloss')\n",
    "pyplot.show()\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lrcv_L2_coef: [[ 0.42540242  1.1227123  -0.14581248  0.04802917 -0.09147907  0.71308871\n",
      "   0.20036939  0.15613713]]\n",
      "lrcv_L2_C: [ 1.]\n"
     ]
    }
   ],
   "source": [
    "print(\"lrcv_L2_coef:\",lrcv_L2.coef_)\n",
    "print('lrcv_L2_C:',lrcv_L2.C_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the train score is: 0.78338762215\n",
      "the test score is: 0.720779220779\n"
     ]
    }
   ],
   "source": [
    "train_score=lrcv_L2.score(X_train,y_train)\n",
    "test_score=lrcv_L2.score(X_test,y_test)\n",
    "print('the train score is:', train_score)\n",
    "print('the test score is:', test_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用LogisticRegressionCV实现正则化的 Logistic Regression,发现参数选C=1，L1 和L2正则的test score都一样。看用GridSearchCV和LogisticRegression做的结果图，可能选L1和L2确实相差不大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5、SVM"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.1 Default SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#LinearSVC不能得到每类的概率，在Otto数据集要求输出每类的概率，这里只是示意SVM的使用方法\n",
    "#https://xacecask2.gitbooks.io/scikit-learn-user-guide-chinese-version/content/sec1.4.html\n",
    "#1.4.1.2. 得分与概率\n",
    "from sklearn.svm import LinearSVC\n",
    "\n",
    "SVC1 = LinearSVC().fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification report for classifier LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,\n",
      "     intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
      "     multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
      "     verbose=0):\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.74      0.87      0.80        99\n",
      "          1       0.66      0.45      0.54        55\n",
      "\n",
      "avg / total       0.71      0.72      0.71       154\n",
      "\n",
      "\n",
      "Confusion matrix:\n",
      "[[86 13]\n",
      " [30 25]]\n"
     ]
    }
   ],
   "source": [
    "#在校验集上测试，估计模型性能\n",
    "y_predict = SVC1.predict(X_test)\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.metrics import confusion_matrix\n",
    "\n",
    "print(\"Classification report for classifier %s:\\n%s\\n\"\n",
    "      % (SVC1, classification_report(y_test, y_predict)))\n",
    "print(\"Confusion matrix:\\n%s\" % confusion_matrix(y_test, y_predict))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the train score is: 0.78338762215\n",
      "the test score is: 0.720779220779\n"
     ]
    }
   ],
   "source": [
    "train_score=SVC1.score(X_train,y_train)\n",
    "test_score=SVC1.score(X_test,y_test)\n",
    "print('the train score is:', train_score)\n",
    "print('the test score is:', test_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.2 线性SVM正则参数调优\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def fit_grid_point_Linear(C, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC2 =  LinearSVC( C = C)\n",
    "    SVC2 = SVC2.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracyOnTest = SVC2.score(X_val, y_val)\n",
    "    accuracyOnTrain = SVC2.score(X_train, y_train)\n",
    "    print(\"C=\",C,\"accuracyOnTest: {}\".format(accuracyOnTest))\n",
    "    print(\"accuracyOnTrain: {}\".format(accuracyOnTrain))\n",
    "    return accuracyOnTest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "C= 0.001 accuracyOnTest: 0.7207792207792207\n",
      "accuracyOnTrain: 0.7752442996742671\n",
      "C= 0.01 accuracyOnTest: 0.7207792207792207\n",
      "accuracyOnTrain: 0.7817589576547231\n",
      "C= 0.1 accuracyOnTest: 0.7207792207792207\n",
      "accuracyOnTrain: 0.7833876221498371\n",
      "C= 1.0 accuracyOnTest: 0.7207792207792207\n",
      "accuracyOnTrain: 0.7833876221498371\n",
      "C= 10.0 accuracyOnTest: 0.7272727272727273\n",
      "accuracyOnTrain: 0.7833876221498371\n",
      "C= 100.0 accuracyOnTest: 0.7207792207792207\n",
      "accuracyOnTrain: 0.742671009771987\n",
      "C= 1000.0 accuracyOnTest: 0.6428571428571429\n",
      "accuracyOnTrain: 0.6758957654723127\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Xiaomeng\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:545: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.\n",
      "  warnings.warn(\"No labelled objects found. \"\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG/JJREFUeJzt3XuUHnWd5/H3h4QEkkBAaALmYgIGJCAJ0NxMxFyAaoGI\nzIxHQMcdZ5QTd3GYObvj4LizODNndt3jHmfdPd444G3xoKyg3GIu3A1ySQdiJDRgCLdgkATkFsAQ\n+O4fVc/2k6Y7Xd3peuqp5/m8znlOuuqpep5vQU5/Ur+q+n0VEZiZmQ1mj7ILMDOzanBgmJlZLg4M\nMzPLxYFhZma5ODDMzCwXB4aZmeXiwDAzs1wcGGZmlosDw8zMchlddgEj6cADD4zp06eXXYaZWWWs\nWbNma0R05Nm2pQJj+vTpdHd3l12GmVllSHoy77YekjIzs1wcGGZmlosDw8zMcnFgmJlZLg4MMzPL\nxYFhZma5ODDMzCyXlnoOw8yKEQHr1sGtt8Jhh8Fpp8G4cWVXZY3mwDCzfr3xBtx2G9xwA9x4Izz9\ndO97e+0FixbB2WenrylTyqvTGsdDUmb2/z37LFxxBZx7Lhx4IJx5JvzgB3DccXD55fDUU7ByJVx4\nITz0EHzuczB1avr+pZfC6tXw9ttlH4UVRRFRdg0jprOzMzw1iFl+EfDrX6dnEDfcAPfdl66fMgUW\nL05fCxakZxT97dvTk+53ww1w991pWBx8cO+Zx2mnwfjxjT0mGxpJayKiM9e2Dgyz9jLQUNOJJ6YB\ncfbZMHs2SEP73K1b4Re/SD932TJ45ZU0aBYu7P1cD101HweGme3k2WfhppvSX+YrV8Jrr6UXrc84\nI/1lfuaZ6ZnBSNm+HX75y96zj40b0/Vz5vSeuRx/POzhQfHSOTDM2lxtqKn2C3v16nT91Km9/9of\naKipiFp6enqHvX71q96hq7POSuvx0FV5HBhmbeiNN9LbXmtDTZs2pcNK9UNNxxwz9KGmkbZ1azpk\nVRu6evllGDt256GrqVPLrbGdODDM2sTmzb1DTTffnA41jR+fDjWdfXb6L/hJk8qucmC1oava2cdj\nj6Xr58xJ61+8GDo7PXRVJAeGWYuKgLVre88i+g41LV4M8+c3ZqhppEXAww/3Httdd+08dHX22XD6\n6R66GmkODLMW8vrr6VDTjTf2P9S0eDG8//3lDzWNtOefT++6uvHGdOjqpZc8dFUEB4ZZxe1qqKl2\nV1MzDzWNtDff3Pmuq9rQ1ezZveFxwgkeuhoOB4ZZxdQPNd1wA9T+Gk+btvNQ09ixpZbZFCLgkUd6\n/1vVhq4mTdr5rqsJE8qutBocGGYVUBtqqo3ZP/NMOqx00km9IXH00a031DTSXnhh5wcGa0NXCxb0\nnn1Mm1Z2lc3LgWHWpDZv7r0j6Oab09CYMGHnoaaDDiq7yup6801Ytar37GPDhnT9Mcf0hrCHrnbW\nNIEhqQv4OjAKuDwivtLn/b8DPpEtjgaOBDqA8cAPgUlAAJdFxNcH+77hBsbSpfDWW0PezSyXCHjg\ngfQX2Jo16br3vKf3X78eaipGBDz66M5DV2+9lQbyWWfBeeelQd3umiIwJI0CHgVOBzYBq4HzI+Kh\nAbZfDPxtRCyUdAhwSETcL2kfYA3w0YH2rRluYIwfn15UNCuKBCef3PtsgYeaGu+FF3ofGPzFL9Kh\nq/vuS8842tlQAqPIfhgnAhsiYmNW1I+Bc4CBfumfD1wFEBGbgc3Zz69I6gEm72Lf3bJqladktmJN\nmwYdHWVX0d7e9S644IL09fzz6f+Pm25yYAxFkYExGahrucIm4KT+NpQ0DugCLurnvenAscC9A+x7\nIXAhwLRhXtk69thh7WZmFXXAAelzLMuXw5e/XHY11dEsl34WA3dFxAv1KyVNAK4B/iYiXu5vx4i4\nLCI6I6Kzw/+EM7OckiQdkvrDH8qupDqKDIxngPrnMKdk6/pzHtlwVI2kPUnD4kcRcW0hFZpZ20qS\ndCj65pvLrqQ6igyM1cBMSTMkjSENhev7biRpIvAh4Lq6dQKuAHoi4msF1mhmberEE2HixPRCuOVT\nWGBExA7SaxLLgR7g6ohYL2mJpCV1m54LrIiIbXXr5gJ/DiyUtDZ7nVlUrWbWfkaPTp8IX748vQXX\nBlfkRW8iYimwtM+6b/dZ/j7w/T7rVgG+6dDMCpUkcM018NBDcNRRZVfT/JrloreZWcMlSfrn8uXl\n1lEVDgwza1vTpsGRRzow8nJgmFlbSxK48850Xi/bNQeGmbW1JEn7od9xR9mVND8Hhpm1tVNPTSd/\n9LDU4BwYZtbWxo1LQ8OBMTgHhpm1va4u6OmBp58efNt25sAws7bn22vzcWCYWdubNQsmT3ZgDMaB\nYWZtT0rPMlauhB07yq6meTkwzMxIA6PWhc/658AwMyOdiHCPPTwstSsODDMz0hautS581j8HhplZ\nJklg9eq057e9kwPDzCzjLny75sAwM8uccALst5+HpQbiwDAzy7gL3645MMzM6iQJ/O53sH592ZU0\nHweGmVkdTxMyMAeGmVmdqVPTqUIcGO/kwDAz66PWhe+118qupLk4MMzM+kgS+OMf3YWvLweGmVkf\np54Ke+3lYam+HBhmZn3svTd86EMOjL4cGGZm/UgSePhheOqpsitpHg4MM7N++Pbad3JgmJn148gj\nYcoUWLas7EqahwPDzKwftS58t9ziLnw1DgwzswHUuvDde2/ZlTQHB4aZ2QDchW9nDgwzswHsvz+c\ndJIDo8aBYWa2C+7C18uBYWa2C0mS9sZYubLsSsrnwDAz24UTTkiHpjws5cAwM9ulUaPSi98rVrgL\nnwPDzGwQXV1pF74HHyy7knI5MMzMBnHGGemf7T4sVWhgSOqS9IikDZIu6ef9v5O0Nns9KOktSe/K\ns6+ZWaNMmQJHHeXAKCwwJI0CvgF8GJgFnC9pVv02EfHViJgTEXOALwJ3RMQLefY1M2ukWhe+bdvK\nrqQ8RZ5hnAhsiIiNEbEd+DFwzi62Px+4apj7mpkVKklg+/b27sJXZGBMBp6uW96UrXsHSeOALuCa\noe5rZtYIH/ygu/A1y0XvxcBdEfHCUHeUdKGkbkndW7ZsKaA0M7O0C9/8+Q6MojwDTK1bnpKt6895\n9A5HDWnfiLgsIjojorOjo2M3yjUz27UkgUcegSeeKLuSchQZGKuBmZJmSBpDGgrX991I0kTgQ8B1\nQ93XzKyR2r0LX2GBERE7gIuA5UAPcHVErJe0RNKSuk3PBVZExLbB9i2qVjOzPN73Ppg6tX0DQ9FC\nz7p3dnZGd3d32WWYWQv77Gfh6qth61bYc8+yq9l9ktZERGeebZvloreZWSV0dcHLL7dnFz4HhpnZ\nECxalE5I2I7DUg4MM7Mh2G+/9u3C58AwMxuiJIHu7vQ6RjtxYJiZDVG7duFzYJiZDVFnJ7zrXe03\nLOXAMDMbolGj4PTT268LnwPDzGwYkgQ2b4bf/KbsShrHgWFmNgzt2IXPgWFmNgyTJ8PRR8OyZWVX\n0ji5AkPStZLOkuSAMTPLJAmsWtU+XfjyBsA3gQuA30r6iqQjCqzJzKwSal34br+97EoaI1dgRMTN\nEfEJ4DjgCeBmSb+S9GlJLTD9lpnZ0H3wg2ljpXa5jpF7iEnSAcBfAJ8BHgC+ThogbfboiplZaq+9\n2qsLX95rGD8DfgmMAxZHxEci4icR8XlgQpEFmpk1sySBRx+Fxx8vu5Li5T3D+F8RMSsi/ltEbK5/\nI+886mZmraiduvDlDYxZkvarLUjaX9K/L6gmM7PKOOIImDbNgVHvsxHxYm0hIv4AfLaYkszMqkNK\nzzJuuQXefLPsaoqVNzBGSVJtQdIoYEwxJZmZVUtXF7zyCtxzT9mVFCtvYCwDfiJpkaRFwFXZOjOz\nttcuXfjyBsbfA7cBn8tetwBfKKooM7MqmTgRTj659acJyfvg3tsR8a2I+LPs9Z2IeKvo4szMqiJJ\n4P77YcuWsispTt7nMGZK+qmkhyRtrL2KLs7MrCraoQtf3iGp7wHfAnYAC4AfAlcWVZSZWdUcfzwc\ncEBrX8fIGxh7R8QtgCLiyYj4MnBWcWWZmVVLO3ThyxsYf8ymNv+tpIsknYunBDEz20mSwLPPwrp1\nZVdSjLyBcTHpPFJ/DRwPfBL4d0UVZWZWRbUufK16t9SggZE9pPfxiHg1IjZFxKcj4k8josUfUTEz\nG5p3vxve//7WvY4xaGBkt8/Oa0AtZmaVV+vC9+qrZVcy8vIOST0g6XpJfy7pT2qvQiszM6ugrq50\nTqlW7MKXNzD2Ap4HFgKLs9fZRRVlZlZV8+bBuHGtOSw1Os9GEfHpogsxM2sFY8e2bhe+XIEh6XvA\nO+4sjoi/HPGKzMwqLklg6VLYuBEOPbTsakZO3iGpG4GbstctwL5AC17SMTPbfa3ahS/vkNQ19cuS\nrgJWFVKRmVnFHX44vOc9aWB87nNlVzNy8p5h9DUTOGgkCzEzaxVSerfUrbe2Vhe+vLPVviLp5doL\nuIG0R4aZmfUjSdIufHffXXYlIyfvkNQ+RRdiZtZKFi7s7cJ36qllVzMy8p5hnCtpYt3yfpI+mmO/\nLkmPSNog6ZIBtpkvaa2k9ZLuqFv/t9m6ByVdJWmvPLWamTWDiRPhlFNaa16pvNcwLo2Il2oLEfEi\ncOmudsjmoPoG8GFgFnC+pFl9ttkP+CbwkYg4CvhYtn4y6USHnRFxNDAKOC9nrWZmTaHWhe+558qu\nZGTkDYz+thtsOOtEYENEbIyI7cCPgXP6bHMBcG1EPAUQEfX/WUcDe0saTTpT7u9y1mpm1hRqt9e2\nShe+vIHRLelrkg7LXl8D1gyyz2Tg6brlTdm6eocD+0u6XdIaSZ8CiIhngP8BPAVsBl6KiBU5azUz\nawrHHw8HHtg6z2PkDYzPA9uBn5CeKbwB/IcR+P7RpP01zgIS4B8lHS5pf9KzkRnAu4Hxkj7Z3wdI\nulBSt6TuLa3cfd3MKmePPXq78L39dtnV7L5cgRER2yLikojojIgTIuIfImLbILs9A0ytW56Srau3\nCVieff5W4E5gNnAa8HhEbImIN4FrgQ8MUNtlWV2dHR0deQ7HzKxhkgR+//vW6MKX9y6pldkF6try\n/pIGO8laDcyUNEPSGNKL1tf32eY6YJ6k0ZLGAScBPaRDUSdLGidJwKJsvZlZpbRSF768Q1IHZndG\nARARf2CQJ70jYgdwEbCc9Jf91RGxXtISSUuybXqAZcA64D7g8oh4MCLuBX4K3A/8JqvzsiEdmZlZ\nEzjkEDjmmNa4jpHrwT3gbUnTanczSZpOP7PX9hURS4GlfdZ9u8/yV4Gv9rPvpQxy666ZWRV0dcG/\n/VvahW/ChLKrGb68ZxhfAlZJ+j+SrgTuAL5YXFlmZq0jSdI5pW67rexKdk/ei97LgE7gEeAq4D8C\nrxdYl5lZy5g7tzW68OVtoPQZ4GLSO53WAicDd5O2bDUzs10YOxYWLKj+he+8Q1IXAycAT0bEAuBY\n4MVd72JmZjVJAo89lr6qKm9gvBERbwBIGhsRDwNHFFeWmVlraYUufHkDY1P2HMbPgZWSrgOeLK4s\nM7PWMnMmzJhR7cDI2w/j3OzHL0u6DZhI+vyEmZnlIKVnGVdeCdu3w5gxZVc0dENu0RoRd0TE9dkM\ntGZmllOSpM9iVLUL33B7epuZ2RAtXAijR1f3bikHhplZg+y7b9qFr6rXMRwYZmYNlCTwwAPpDLZV\n48AwM2ugrq70zyp24XNgmJk10LHHQkdHNYelHBhmZg1U5S58DgwzswZLEnjuOVi7tuxKhsaBYWbW\nYLUufFUblnJgmJk12MEHw+zZDgwzM8uhqwvuugteeaXsSvJzYJiZlSBJYMeOanXhc2CYmZVg7lwY\nP75aw1IODDOzEowZU70ufA4MM7OSJAls3AgbNpRdST4ODDOzklStC58Dw8ysJO99Lxx6qAPDzMwG\nUevCd+utaRe+ZufAMDMrUZLAtm3pMxnNzoFhZlaiBQvSLnxVGJZyYJiZlWjffeEDH3BgmJlZDl1d\n6cy1zd6Fz4FhZlay2u21K1aUW8dgHBhmZiWbM6caXfgcGGZmJdtjj7RHxvLlzd2Fz4FhZtYEkgS2\nboUHHii7koE5MMzMmkAVuvA5MMzMmsCkSXDssQ4MMzPLIUngV7+Cl18uu5L+OTDMzJpEs3fhc2CY\nmTWJD3wAJkxo3qZKhQaGpC5Jj0jaIOmSAbaZL2mtpPWS7qhbv5+kn0p6WFKPpFOKrNXMrGy1LnzL\nl0NE2dW8U2GBIWkU8A3gw8As4HxJs/pssx/wTeAjEXEU8LG6t78OLIuI9wGzgZ6iajUzaxZJAo8/\n3pxd+Io8wzgR2BARGyNiO/Bj4Jw+21wAXBsRTwFExHMAkiYCpwJXZOu3R8SLBdZqZtYUurrSP5vx\nbqkiA2My8HTd8qZsXb3Dgf0l3S5pjaRPZetnAFuA70l6QNLlksYXWKuZWVM47LD01W6Bkcdo4Hjg\nLCAB/lHS4dn644BvRcSxwDZgoGsgF0rqltS9ZcuWBpVtZlacJEnvlPrjH8uuZGdFBsYzwNS65SnZ\nunqbgOURsS0itgJ3kl6v2ARsioh7s+1+Shog7xARl0VEZ0R0dnR0jOgBmJmVoVm78BUZGKuBmZJm\nSBoDnAdc32eb64B5kkZLGgecBPRExLPA05KOyLZbBDxUYK1mZk2jWbvwFRYYEbEDuAhYTnqH09UR\nsV7SEklLsm16gGXAOuA+4PKIeDD7iM8DP5K0DpgD/NeiajUzayb77ANz5zZfYCia8WbfYers7Izu\n7u6yyzAz221f+Qp88YuweTMcfHBx3yNpTUR05tm27IveZmbWj2bswufAMDNrQrNnw0EHNdewlAPD\nzKwJ1brwrVjRPF34HBhmZk2q1oXv/vvLriTlwDAza1LN1oXPgWFm1qQOOgiOO86BYWZmOSQJ3H03\nvPRS2ZU4MMzMmlqtC9+tt5ZdiQPDzKypnXJK2oWvGYalHBhmZk1szBhYuLA5uvA5MMzMmlxXFzzx\nBPz2t+XW4cAwM2tytWlCyh6WcmCYmTW5Qw+F977XgWFmZjk0Qxc+B4aZWQUkCbz2GqxaVV4NDgwz\nswpYsAD23LPcYSkHhplZBUyYAPPmOTDMzCyHJIF169IufGVwYJiZVUTZXfgcGGZmFXHMMTBpEixb\nVs73OzDMzCqi1oVv5Up4660Svr/xX2lmZsOVJPD88+V04XNgmJlVyBlngFTO3VIODDOzCunoKK8L\nnwPDzKxiyurC58AwM6uYJEkvet9yS2O/14FhZlYxp5wC++zT+GEpB4aZWcXsuScsWtT4LnwODDOz\nCkoSePJJePTRxn2nA8PMrILK6MLnwDAzq6AZM2DmTAeGmZnlUOvC98Ybjfk+B4aZWUUlCbz+euO6\n8DkwzMwqav58GDOmccNSDgwzs4pqdBc+B4aZWYVdcEH6IN+OHcV/1+jiv8LMzIryV3+VvhrBZxhm\nZpZLoYEhqUvSI5I2SLpkgG3mS1orab2kO/q8N0rSA5JuLLJOMzMbXGFDUpJGAd8ATgc2AaslXR8R\nD9Vtsx/wTaArIp6SdFCfj7kY6AH2LapOMzPLp8gzjBOBDRGxMSK2Az8GzumzzQXAtRHxFEBEPFd7\nQ9IU4Czg8gJrNDOznIoMjMnA03XLm7J19Q4H9pd0u6Q1kj5V997/BL4AvF1gjWZmllPZd0mNBo4H\nFgF7A3dLuoc0SJ6LiDWS5u/qAyRdCFwIMG3atGKrNTNrY0WeYTwDTK1bnpKtq7cJWB4R2yJiK3An\nMBuYC3xE0hOkQ1kLJV3Z35dExGUR0RkRnR0dHSN9DGZmlikyMFYDMyXNkDQGOA+4vs821wHzJI2W\nNA44CeiJiC9GxJSImJ7td2tEfLLAWs3MbBCFDUlFxA5JFwHLgVHAdyNivaQl2fvfjogeScuAdaTX\nKi6PiAeH+51r1qzZKunJYe5+ILB1uN/dZFrlWFrlOMDH0oxa5Thg947lPXk3VDSyv18Tk9QdEZ1l\n1zESWuVYWuU4wMfSjFrlOKBxx+Invc3MLBcHhpmZ5eLA6HVZ2QWMoFY5llY5DvCxNKNWOQ5o0LH4\nGoaZmeXiMwwzM8vFgVFH0r9IWpfNnrtC0rvLrmk4JH1V0sPZsfwsm+SxkiR9LJvJ+G1JlbujJc+M\nzVUh6buSnpM07Fvfm4GkqZJuk/RQ9nfr4rJrGi5Je0m6T9Kvs2P5p0K/z0NSvSTtGxEvZz//NTAr\nIpaUXNaQSTqD9GHHHZL+O0BE/H3JZQ2LpCNJn9H5DvCfIqK75JJyy2ZsfpS6GZuB8+tnbK4SSacC\nrwI/jIijy65nuCQdAhwSEfdL2gdYA3y0iv9fJAkYHxGvStoTWAVcHBH3FPF9PsOoUwuLzHigkmka\nESsiotaw8R7SaVkqKSJ6IuKRsusYpjwzNldGRNwJvFB2HbsrIjZHxP3Zz6+QtlDoOzFqJUTq1Wxx\nz+xV2O8tB0Yfkv5V0tPAJ4D/UnY9I+AvgV+UXUSbyjNjs5VI0nTgWODecisZvqzR3FrgOWBlRBR2\nLG0XGJJulvRgP69zACLiSxExFfgRcFG51Q5ssOPItvkSsIP0WJpWnmMxG2mSJgDXAH/TZ3ShUiLi\nrYiYQzqScKKkwoYLy57evOEi4rScm/4IWApcWmA5wzbYcUj6C+BsYFE0+YWqIfw/qZo8MzZbCbLx\n/muAH0XEtWXXMxIi4kVJtwFdQCE3JrTdGcauSJpZt3gO8HBZtewOSV2kzac+EhGvlV1PG8szY7M1\nWHah+ArSmbG/VnY9u0NSR+0uSEl7k95gUdjvLd8lVUfSNcARpHflPAksiYjK/YtQ0gZgLPB8tuqe\nKt7tBSDpXOB/Ax3Ai8DaiEjKrSo/SWeSdo+szdj8ryWXNGySrgLmk86M+nvg0oi4otSihkHSPOCX\nwG/o7ej5DxGxtLyqhkfSMcAPSP9+7QFcHRH/XNj3OTDMzCwPD0mZmVkuDgwzM8vFgWFmZrk4MMzM\nLBcHhpmZ5eLAMBsCSa8OvtUu9/+ppEOznydI+o6kxyStkXS7pJMkjZF0p6S2e7DWmpsDw6xBJB0F\njIqIjdmqy0kn85sZEccDnwYOzCYqvAX4eDmVmvXPgWE2DEp9NZvz6jeSPp6t30PSN7N+JCslLZX0\nZ9lunwCuy7Y7DDgJ+M8R8TZARDweETdl2/48296safiU12x4/gSYA8wmffJ5taQ7gbnAdGAWcBDp\n1NnfzfaZC1yV/XwU6VPrbw3w+Q8CJxRSudkw+QzDbHjmAVdlM4X+HriD9Bf8POD/RsTbEfEscFvd\nPocAW/J8eBYk27MGP2ZNwYFh1jivA3tlP68HZmdd+QYyFnij8KrMcnJgmA3PL4GPZ81rOoBTgfuA\nu4A/za5lTCKdrK+mB3gvQEQ8BnQD/5TNnoqk6ZLOyn4+ANgaEW826oDMBuPAMBuenwHrgF8DtwJf\nyIagriHtrPcQcCVwP/BSts9N7BwgnwEmARskPQh8n7RrGsCCbHuzpuHZas1GmKQJEfFqdpZwHzA3\nIp7N+hXcli0PdLG79hnXApdExKMNKNksF98lZTbybsya2owB/iU78yAiXpd0KWlf76cG2jlrtvRz\nh4U1G59hmJlZLr6GYWZmuTgwzMwsFweGmZnl4sAwM7NcHBhmZpaLA8PMzHL5f88viYM1jVd5AAAA\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea37c128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "#需要调优的参数\n",
    "C_s = np.logspace(-3, 3, 7)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份  \n",
    "#penalty_s = ['l1','l2']\n",
    "\n",
    "accuracy_s = []\n",
    "for i, oneC in enumerate(C_s):\n",
    "#    for j, penalty in enumerate(penalty_s):\n",
    "    tmp = fit_grid_point_Linear(oneC, X_train, y_train, X_test, y_test)\n",
    "    accuracy_s.append(tmp)\n",
    "\n",
    "x_axis = np.log10(C_s)\n",
    "#for j, penalty in enumerate(penalty_s):\n",
    "pyplot.plot(x_axis, np.array(accuracy_s), 'b-')\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "pyplot.ylabel( 'accuracy' )\n",
    "pyplot.savefig('SVM_PIMA.png' )\n",
    "\n",
    "pyplot.show()\n",
    "  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由图可知，C=10时 （logC=1），效果最佳。测试集上Accuracy为0.7272727272727273  \n",
    "SVM结果和Logistic Regression结果差不多，SVM稍微强一点（Logistic Regression 最好的结果为0.720779220779）。\n",
    "原因是： \n",
    "SVM 只关心分类面的点，Logistic Regression 关系所有点。Logistric Regression 更易受数据不平衡的影响,尽管我们做了StratifiedKFold但可能没法完全消除数据不平衡。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.3 RBF核SVM正则参数调优"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def fit_grid_point_RBF(C, gamma, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC3 =  SVC( C = C, kernel='rbf', gamma = gamma)\n",
    "    SVC3 = SVC3.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = SVC3.score(X_val, y_val)\n",
    "    \n",
    "    print(\"C: {}\".format(C),\"gamma: {}\".format(gamma),\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "C: 0.01 gamma: 0.01 accuracy: 0.6428571428571429\n",
      "C: 0.01 gamma: 0.1 accuracy: 0.6428571428571429\n",
      "C: 0.01 gamma: 1.0 accuracy: 0.6428571428571429\n",
      "C: 0.01 gamma: 10.0 accuracy: 0.6428571428571429\n",
      "C: 0.01 gamma: 100.0 accuracy: 0.6428571428571429\n",
      "C: 0.1 gamma: 0.01 accuracy: 0.6558441558441559\n",
      "C: 0.1 gamma: 0.1 accuracy: 0.7142857142857143\n",
      "C: 0.1 gamma: 1.0 accuracy: 0.6428571428571429\n",
      "C: 0.1 gamma: 10.0 accuracy: 0.6428571428571429\n",
      "C: 0.1 gamma: 100.0 accuracy: 0.6428571428571429\n",
      "C: 1.0 gamma: 0.01 accuracy: 0.7337662337662337\n",
      "C: 1.0 gamma: 0.1 accuracy: 0.7272727272727273\n",
      "C: 1.0 gamma: 1.0 accuracy: 0.7207792207792207\n",
      "C: 1.0 gamma: 10.0 accuracy: 0.6428571428571429\n",
      "C: 1.0 gamma: 100.0 accuracy: 0.6428571428571429\n",
      "C: 10.0 gamma: 0.01 accuracy: 0.7272727272727273\n",
      "C: 10.0 gamma: 0.1 accuracy: 0.7077922077922078\n",
      "C: 10.0 gamma: 1.0 accuracy: 0.6818181818181818\n",
      "C: 10.0 gamma: 10.0 accuracy: 0.6428571428571429\n",
      "C: 10.0 gamma: 100.0 accuracy: 0.6428571428571429\n",
      "C: 100.0 gamma: 0.01 accuracy: 0.7207792207792207\n",
      "C: 100.0 gamma: 0.1 accuracy: 0.6493506493506493\n",
      "C: 100.0 gamma: 1.0 accuracy: 0.7012987012987013\n",
      "C: 100.0 gamma: 10.0 accuracy: 0.6428571428571429\n",
      "C: 100.0 gamma: 100.0 accuracy: 0.6428571428571429\n"
     ]
    }
   ],
   "source": [
    "#需要调优的参数\n",
    "C_s = np.logspace(-2, 2, 5)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份 \n",
    "gamma_s = np.logspace(-2, 2, 5)  \n",
    "\n",
    "accuracy_s = []\n",
    "for i, oneC in enumerate(C_s):\n",
    "    for j, gamma in enumerate(gamma_s):\n",
    "        tmp = fit_grid_point_RBF(oneC, gamma, X_train, y_train, X_test, y_test)\n",
    "        accuracy_s.append(tmp)\n",
    "        \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\naMJQSilly/8HUTxTca9A2bQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x288ea4b2e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "accuracy_s1 =np.array(accuracy_s).reshape(len(C_s),len(gamma_s))\n",
    "x_axis = np.log10(C_s)\n",
    "for j, gamma in enumerate(gamma_s):\n",
    "    pyplot.plot(x_axis, np.array(accuracy_s1[:,j]), label = ' Test - log(gamma)' + str(np.log10(gamma)))\n",
    "\n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "pyplot.ylabel( 'accuracy' )\n",
    "pyplot.savefig('RBF_SVM_PIMA.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "根据图，我们可以选出，当C=1.0, Log(c)=0和 gamma= 0.01， Log(gamma)=-2时，结果最佳为0.7337662337662337.这个数值比线性svm的结果更好。(线性svm的结果为0.7272727272727273。 )"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
